package jp.ac.aiit.yc.softarch.hbcp.service.common;

import java.util.ArrayList;
import java.util.List;
import jp.ac.aiit.yc.softarch.hbcp.model.common.User;

public class LoginedUsersService {
	public List<User> getLoginedUsers() {//ログインしているユーザーを返すメソッド
		System.out.println("doing LoginedUsersService.getLoginedUsers() : " + CalendarUtil.nowDate());
		 List<User> loginedUsers = new ArrayList<User>();
		 for (User x: UserManagementService.users) {//ログインしているユーザーを探すループ
			 if(x.isLogined == true ){
				   loginedUsers.add(x);
				   System.out.println(x.name + " is now logined");
			 }
		 }
		return loginedUsers;
	}

	public boolean logOut(User user){//ログアウトを行うメソッド
		System.out.println("doing LoginedUsersService.logOut() : " + CalendarUtil.nowDate());
		System.out.println("user.name=" + user.name);
		 for (User x: UserManagementService.users) {//ログアウト対象のユーザーを探すループ
			   if(x.name.equals(user.name) ){
				   x.isLogined = false;//ログインフラグを下す
				   System.out.println(user.name + " has logouted");
				   return true;
			   }
		 	}
		 System.out.println(user.name + " is not found");
		 return false;
	}
	public boolean isLogined(User user){//ログイン状態の確認を行うメソッド
		System.out.println("doing LoginedUsersService.isLogined() : " + CalendarUtil.nowDate());
		 for (User x: UserManagementService.users) {//確認対象のユーザーを探すループ
			   if(x.name.equals(user.name) ){
				   if(x.isLogined){//ログイン状態ならば
				   System.out.println(user.name + " is now logined");
				   return true;
				   }
			   }
		 	}
		   System.out.println(user.name + " is not logined");
		 return false;
	}

}



